Software reconfiguration of communications apparatus

ABSTRACT

A method of reconfiguring the software interface in software defined radios in which when a transmitting station (PS) sends a reconfiguration software message to a receiving station (SS), the receiving station responds with a message giving an estimated time duration for carrying-out the reconfiguration of its software. The transmitting station listens for the estimated time duration for a message which confirms that the receiving station has been successfully reconfigured and commences normal communications using the new configuration. The estimated time duration may be computed using indicia present in the reconfiguration software message.

[0001] The present invention relates to software reconfiguration of a terminal, which may be a fixed primary station or a mobile or portable secondary station, so that it is able to be compatible with the software configuration of another terminal at the other end of a communications link. The present invention has particular, but not exclusive, application to cellular/cordless telephones.

[0002] An article “Mode Switching and Software Download for Software Defined Radio: The SDR Forum Approach” by M. Cummings and S. Heath, IEEE Communications Magazine, August 1999, pages 104 to 106, notes that the proliferation of air interfaces has created the need for a standard way of switching services supported by a wireless system and downloading new code to systems in the field. Both conventional and software defined systems need this capability. Various software download scenarios are described in the left hand column of page 106. This article continues by highlighting a number of implementation issues affecting cellular telephony, for example networks administered by different authorities, networks consisting of components from different vendors, the need for mobile terminals to be able to roam between different networks, and the need to keep infrastructure software stable by infrequent software upgrades.

[0003] EP-A2-0 804 046 discloses a method and apparatus for updating the software of a mobile terminal using the air interface. An essential feature of the mobile terminal is that it has two memories capable of storing a data processor program and means for indicating, say by using a flag, which one of the two memories is currently active. Thus whilst one of the two memories stores the currently used software, the other of the two memories is updated by storing new infrastructure software. At the appropriate moment the terminal switches from one of the two memories to the other one and thereafter operates in accordance the new software and the flag is changed over. In the event of the new software being unacceptable, the mobile terminal reverts to the one of the two memories still containing the previously used software. Drawbacks to the solution as taught in this cited specification are that two relatively large memories are required which occupy a relatively large chip area and consequently are costly and also two memories will consume quite a lot of power which will limit adversely the talk/standby time of the mobile terminal.

[0004] Whilst system wide software upgrades are necessary from time to time, there are other occasions when on a one-to-one basis either a fixed primary station or a mobile secondary station need to reconfigure their software interface to suit the software interface of the other of the stations, whilst leaving unchanged the software interfaces involving the primary station and the others of the mobile stations. Another matter to be addressed is that the mobile terminals operating on a network may be not only of different manufacture but their operational characteristics may differ from one model to another model, even when made by the same manufacturer.

[0005] An object of the present invention is to provide a flexible method of reconfiguring part of, if not the entire, software interface between two stations in a communications system.

[0006] According to one aspect of the present invention there is provided a method of reconfiguring the software in a communications station, comprising a first communications station transmitting a software reconfiguration message to a second communications station, the software reconfiguration message including indicia which is useable by the second station to estimate how long it takes to reconfigure itself, the second station receiving the message and using the indicia estimates its reconfiguration time, the second station sending the message giving an indication of the reconfiguration time to the first station, and the first station in response to determining the reconfiguration time, waiting until after the time has elapsed before using the reconfigured software in communication with the second station.

[0007] In order to enable the station being reconfigured to give an estimate of its reconfiguration time independently of its manufacturer and generation of manufacture, a processor of the receiving station may include a store, such as a ROM, in which the maximum reconfiguration time together with predetermined fractions of this maximum reconfiguration time are stored at pre-specified locations. The indicia in the software reconfiguration message may comprise the location address in the store so that the corresponding reconfiguration time can be read—out. Thus if a station contains a fast processor the prestored time estimates will be relatively short because the maximum reconfiguration time will be relatively short but if the processor is slower then the pre-stored times will be longer because the maximum reconfiguration time will be longer. Thus the system is able to cater for different stations.

[0008] In an alternative arrangement, the estimation of the reconfiguration time may be related to the particular layer or layers of the interface software to be reconfigured. The receiving station may include a store, such as a ROM, in which at different storage locations are stored the time estimates for reconfiguring the software in a respective interface layer. The indicia in the software reconfiguration message may comprise the address of the storage location storing the time estimate for reconfiguring the layer specified.

[0009] According to a second aspect of the present invention there is provided a software reconfiguration message for transmission from a first station to a second station, the message including indicia which is useable by the second station to estimate the time it will take to reconfigure itself.

[0010] According to a third aspect of the present invention there is provided a communication system comprising a primary station and at least one secondary station, the primary station including a transceiver, a processor and a store for storing the configuration software of the or each secondary station, and the or each secondary station comprising a transceiver, a processor, a store for storing configuration software, means for reconfiguring at least some of the configuration software in the store, means for estimating the reconfiguration time on the basis of indicia included in a reconfiguration message transmitted by the primary station, the reconfiguration time being transmitted to the primary station.

[0011] According to a fourth aspect of the present invention there is provided a station having a transceiver, a processor, a store for storing configuration software, means, responsive to an external message, for reconfiguring software in the store, and means for estimating a reconfiguration time in response to indicia in the external message and for causing the transceiver to transmit the estimated reconfiguration time.

[0012] The teachings of the present invention are also applicable to a mobile secondary station reconfiguring the interface software stored in a fixed base (or primary) station as well as vice versa. Thus a roaming mobile station can enable the base station to adapt its software interface to complement that of the mobile station without requiring a system wide change to be implemented. In the case of cellular and/or cordless telephones, the software reconfiguration messages will normally be transmitted over the air but these message could be transmitted to other software configured apparatus by suitable cables and optical fibres.

[0013] The present invention will now be described, by way of example, with reference to the accompanying drawings, wherein:

[0014]FIG. 1 is a block schematic diagram of a simplified communications system,

[0015]FIG. 2 is a diagram of a reconfiguration message structure,

[0016]FIG. 3 is a diagram illustrating an exchange of messages between a primary station and a secondary station,

[0017]FIG. 4 is a diagram of the time sequence of a reconfiguration event, and

[0018]FIG. 5 is a flow chart illustrating the sequence of operations carried out by a secondary station.

[0019] In the drawings the same reference numerals have been used to indicate corresponding features.

[0020] For convenience of description, the present invention will be described with reference to a fixed primary station PS transmitting software reconfiguration messages to a mobile or portable secondary station SS. However it is to be understood that a secondary station SS could send software reconfiguration messages to a primary station PS. Also the respective stations could be of equal status.

[0021] The cellular telephone communications system illustrated shows a primary station PS which it is assumed is fixedly sited and is capable of operating in accordance with a plurality of air interface protocols, such as GSM (Global System for Mobile Communications) and IS95—code division multiple access (CDMA), and a plurality of software configurable, portable secondary stations SS1, SS2 which are programmable/reprogrammable to operate in accordance a range of air interfaces.

[0022] The primary station PS comprises a processor 10 comprising a computer which is programmed to control the operation of the primary station, the programme being held in a program ROM 12. The processor 10 includes a clock 14, an address store 16 for storing the addresses of secondary stations registered on the communications network, a store 18 for storing the user interfaces associated with the respective secondary stations and a PSTN or other landline interface 20 for connecting the primary station PS to the wired telephone network. A plurality of base station radio transceivers 22, only one of which is shown, are connected by landline to ports of the processor 10.

[0023] The secondary station SS1 comprises an antenna 30 coupled to a transceiver 32 which in turn is coupled to a microprocessor 34 which operates in accordance with a program stored in a program ROM 36. A microphone 38 and a loudspeaker 40 are coupled to the microprocessor 34 which is able to encode speech for transmission by, and decode speech received by, the transceiver 32. A keypad 42 and a message store 44 are also coupled to the processor 34. Interface software is stored in a non-volatile memory 46, the interface software being programmed/reprogrammed over the air. When reprogramming the interface software in response to the receipt of a reconfiguration message, only portions of it will be changed and as will be described in greater detail later, the method in accordance with the present invention requires a secondary station receiving a reconfiguration message to give an estimate of the time it will need to reconfigure itself. If a network only comprised secondary stations of one type produced by one manufacturer the time or range of times would be known and could be programmed into the primary station PS thereby avoiding the need for the secondary station to send a time estimate. However in real life the secondary stations will be sourced from a range of manufacturers at different times with the result the same reconfiguration task will take different durations to be executed. As a result it would not be practical to store all the estimates of reconfiguration times centrally as it would require a worldwide knowledge of all the different software defined cellular telephones manufactured and yet to be manufactured. Accordingly the secondary station receiving the reconfiguration software generates its own estimate of the time required to alter its software interface.

[0024] At the time of manufacture of a secondary station, the manufacturer can measure the time which is required to carry out the various programming/reprogramming tasks and store these in a non-volatile store 48. Thus if the station instructing the reprogramming, in this example the primary station PS, transmits an indication of the extent of programming/reprogramming to be implemented then the secondary station SS can use this to generate a time estimate which is transmitted to the primary station PS. The store 48 could be implemented in several ways. As shown inset as the store 48A, the store could pre-store the maximum time to programme/reprogramme the entire interface software held in store 46 and fractions of this maximum time appropriate to carrying out partial programming/reprogramming. The indication given in the software reconfiguration message could be an address of the storage location storing a particular fraction of, or the entire, maximum time. This time can be read-out and included in a message giving the time estimate.

[0025] In an alternative arrangement, the store 48 could be implemented as shown inset at 48B. It is assumed that an air interface protocol consists of different layers, such as Physical Layer (PHL), Medium Access Control Layer (MAC), Data Link Control Layer (DLC) and Network Layer (NWK), and that it is determined at the time of manufacture of the secondary station SS hove long it takes to programme/reprogramme each layer. This information is stored in the store 48B. In operation, the indication included in the software reconfiguration message identifies which layer is to be altered and the relevant time estimate can be read-out and included in a message to the primary station PS.

[0026]FIG. 2 illustrates a software reconfiguration message 50 which commences with a synchronising field SYN and is followed by an address ADD of the secondary station, a header HD which includes an indicia field IND which is used to provide an indication of the extent of the reconfiguration, and reconfiguration software RS. Depending on various factors the message 50 can be sent as a single message or as a series of data packets.

[0027]FIG. 3 illustrates a sequence of events when an air interface is being configured. In the drawing the primary and secondary stations are identified by PS and SS, respectively. Double-headed arrow 52 indicates the exchange of information when the secondary station SS is in its standby mode. Double headed arrow 54 indicates the primary and secondary stations being in negotiations over their capabilities. The arrow 56 represents the primary station PS transferring reconfiguration software to the secondary station SS. The arrow 58 represents the secondary station transmitting a message including its estimate of the required reconfiguration time, also termed time window details. Finally double headed arrow 60 represents the primary station PS checking after expiry of the time window to see if the secondary station has reconfigured its software and is using it. The primary station PS has reconfigured itself in the meantime and by the expiry of the time window is ready to commence normal communications using the new configuration.

[0028]FIG. 4 illustrates the just described sequence of events in the time domain. For ease of reference the same reference numerals have been used to indicate the corresponding event, the capability negotiation 54 is followed in time by the transmission of the reconfiguration software 56. Event 62 relates to the secondary station reconfiguring itself after having sent a time window estimate 58 to the primary station. Event 60 is the time window 60 during which the primary station is waiting/listening for confirmation that the reconfiguration has been completed.

[0029] The steps carried-out by the secondary station SS are shown in the flow chart illustrated in FIG. 5. Block 64 indicates Start. Block 66 indicates the process of the secondary station SS receiving the reconfiguration software from the primary station PS. Block 68 denotes error checking the received reconfiguration software. The decision block 70 denotes the checking that the received software is error free. If it is not (N), stage 72 represents the secondary station SS informing the primary station PS and the flow chart reverting to the block 66. If the software is error free (Y), block 74 denotes using the indicia IND in the header HD to determine an estimate of the reconfiguration time, that is, the time window. Block 76 relates to the operation of transmitting the estimate (or time window) to the primary station PS, see message 58 in FIGS. 3 and 4. Block 78 denotes the operation of the secondary station SS reconfiguring itself, see also event 62 in FIG. 4. Block 80 relates to the processor in the secondary station testing for internal errors. Decision block 82 relates to deciding if there are no errors. If there are errors (N), block 84 relates to the secondary station SS communicating with the primary station PS using the originally stored software interface. If there are no internal errors (Y), block 86 denotes communicating with the primary station using the newly reconfigured software. Decision stage 88 denotes checking if the communication is successful. If it is not (N) then the flow chart proceeds to the block 84 which denotes using the original software. If it is successful (Y), then block 90 relates to continuing to use the reconfigured interface. Block 92 indicates the end of the flow chart.

[0030] In the present specification and claims the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. Further, the word “comprising” does not exclude the presence of other elements or steps than those listed.

[0031] From reading the present disclosure, other modifications will be apparent to persons skilled in the art. Such modifications may involve other features which are already known in the design, manufacture and use of software defined communications apparatus and component parts therefor and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure of the present application also includes any novel feature or any novel combination of features disclosed herein either explicitly or implicitly or any generalisation thereof, whether or not it relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as does the present invention. The applicants hereby give notice that new claims may be formulated to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom. 

1. A method of reconfiguring software in a communications system, the method comprising a first communications station transmitting a software reconfiguration message to a second communications station, the software reconfiguration message including indicia which is useable by the second station to estimate how long it will take to reconfigure itself, the second station receiving the message and using the indicia estimates its reconfiguration time, the second station sending a message giving an indication of the reconfiguration time to the first station, and the first station in response to determining the reconfiguration time, waiting until after the time has elapsed before using the reconfigured software in communication with the second station.
 2. A method as claimed in claim 1 , characterised in that the second station stores the maximum time required for reconfiguration and the indicia sent in the software reconfiguration message is used to determine what proportion of that time will be required to implement the reconfiguration.
 3. A method as claimed in claim 2 , characterised in that the maximum reconfiguration time of the second station and fractions of the maximum reconfiguration time are stored in a ROM and in that the indicia in the software reconfiguration message are used to provide a ROM address.
 4. A method as claimed in claim 1 , characterised in that the indicia in the software reconfiguration message relate to a particular layer of the software to be reconfigured and in that the second station stores estimates of reconfiguration times of each of the software layers.
 5. A method as claimed in any one of claims 1 to 4 , characterised by having a plurality of second stations, at least 2 of which second stations have different maximum reconfiguration times.
 6. A method as claimed in any one of claims 1 to 4 , characterised in that the first station reconfigures its configuration software relating to the or the respective second station by the expiry of the reconfiguration time.
 7. A software reconfiguration message for transmission from a first station to a second station, the message including indicia which is useable by the second station to estimate the time it will take to reconfigure itself.
 8. A message as claimed in claim 7 , characterised in that the indicia is useable to express the degree of complexity of reconfiguration processes.
 9. A message as claimed in claim 8 , characterised in that the indicia expresses the degree of complexity as a proportion of the maximum reconfiguration time.
 10. A message as claimed in claim 8 , characterised in that the indicia includes information indicating the software layer to be reconfigured.
 11. A communication system comprising a primary station and at least one secondary station, the primary station including a transceiver, a processor and a store for storing the configuration software of the or each secondary station, and the or each secondary station comprising a transceiver, a processor, a store for storing configuration software, means for reconfiguring at least some of the configuration software in the store, means for estimating the reconfiguration time on the basis of indicia included in a reconfiguration message transmitted by the primary station, the reconfiguration time being transmitted to the primary station.
 12. A system as claimed in claim 11 , characterised by the processor in the primary station including timing means for causing the configuration software in respect of the secondary station to be reconfigured by the expiry of the reconfiguration time transmitted by the secondary station.
 13. A system as claimed in claim 11 , characterised in that the or each secondary station includes a non-volatile memory storing at respective locations the maximum software reconfiguration time and predetermined fractions of the said maximum reconfiguration time and in that the primary station includes means for including a memory location information in said indicia.
 14. A station having a transceiver, a processor, a store for storing configuration software, means, responsive to an external message, for reconfiguring software in the store, and means for estimating a reconfiguration time in response to indicia in the external message and for causing the transceiver to transmit the estimated reconfiguration time.
 15. A station as claimed in claim 14 , characterised in that there is provided a non-volatile memory storing at respective locations the maximum software reconfiguration time and predetermined fractions of the said maximum reconfiguration time representing estimates and in that one of said estimates is selected in response to the received indicia. 